Scoped and Dynamic Aspects with Classboxes

نویسندگان

  • Alexandre Bergel
  • Stéphane Ducasse
چکیده

Atomically introducing changes to a group of classes is a challenging task. In addition, certain applications require that changes be applied dynamically without shutting down and restarting the application. In this paper we present an extension of classboxes to make them dynamic. A classbox is a kind of module that supports class extension and instance variable addition. Class extensions and definitions defined in a classbox represent an aspect. In addition, with classboxes, aspects are dynamically applied to, removed from and “hot-swapped” in a system. Such aspects may crosscut a large number of classes which are extended by adding or redefining existing methods and adding new instance variables. Finally the aspects are scoped i.e., they are local to the classboxes that define them. RÉSUMÉ. Introduire des modifications à un ensemble de classes de façon atomique est une tâche difficile. De plus, certaines applications nécessitent que ces modifications soient appliquées à l’exécution sans interruption. Nous présentons le modèle des classboxes, une sorte de module offrant des extensions de classes et additions de variables d’instance. Les extensions et définitions contenues dans un classbox représentent un aspect. De plus, les classboxes permettent d’appliquer, de retirer et d’échanger dynamiquement des aspects. Un aspect peut s’appliquer sur un grand nombre de classes en ajoutant et en redefinissant des méthodes et en ajoutant des variables d’instances. Finalement les aspects ont une visibilité restreinte, c’est-à-dire qu’ils ne sont visibles que dans les classboxes qui les définissent.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Scoped Types and Aspects for Real-Time Java

Real-time systems are notoriously difficult to design and implement, and, as many real-time problems are safety-critical, their solutions must be reliable as well as efficient and correct. While higher-level programming models (such as the Real-Time Specification for Java) permit real-time programmers to use language features that most programmers take for granted (objects, type checking, dynam...

متن کامل

On the Integration of Classboxes into C#

Classboxes are a new module system for object-oriented languages defining a packaging and scoping mechanism for controlling the visibility of isolated extensions to portions of class-based systems. Unlike object-oriented specialization, the class extension mechanisms supported by classboxes preserve the identity of extended classes and, therefore, all clients of extended classes can benefit fro...

متن کامل

Propagation of Behavioral Variations with Delegation Proxies

Scoping behavioral variations to dynamic extents is useful to support non-functional concerns that otherwise result in cross-cutting code. Unfortunately, such forms of scoping are difficult to obtain with traditional reflection or aspects. We propose delegation proxies, a dynamic proxy model that supports behavioral intercession through the interception of various interpretation operations. Del...

متن کامل

Classboxes: Supporting Unanticipated Variation Points in the Source Code

Software product lines refer to engineering techniques for creating a portfolio of similar software systems from a shared set of software assets in a controlled way. Managing variability is the key issue of software product line practice. Modelling variation points is largely addressed by a selection of linguistic constructs and modelling techniques (e.g., design pattern, macro, configuration f...

متن کامل

Classboxes: A Minimal Module Model Supporting Local Rebinding

Classical module systems support well the modular development of applications but do not offer the ability to add or replace a method in a class that is not defined in that module. On the other hand, languages that support method addition and replacement do not provide a modular view of applications, and their changes have a global impact. The result is a gap between module systems for object-o...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:
  • L'OBJET

دوره 11  شماره 

صفحات  -

تاریخ انتشار 2005